Using C as a Compiler Target Language for Native Code Generation in Persistent Systems

نویسندگان

  • S. J. Bushell
  • Alan Dearle
  • Alfred L. Brown
  • Francis Vaughan
چکیده

Persistent programming languages exhibit several requirements that affect the generation of native code, namely: garbage collection; arbitrary persistence of code, data and processes; dynamic binding; and the introduction of new code into a running system. The problems of garbage collection are not unique to persistent systems and are well understood: both code and data may move during a computation if a compacting collector is employed. However, the problems of garbage collection are exacerbated in persistent systems which must support garbage collection of both RAM resident and disk resident data. Some persistent systems support a single integrated environment in which the compiled code and data is manipulated in a uniform manner, necessitating that compiled code be stored in the object store. Furthermore, some systems assume that the entire state of a running program is resident in a persistent store; in these systems it may be necessary to preserve the state of a program at an arbitrary point in its execution and resume it later. Persistent systems must support some dynamic binding in order to accommodate change. Thus code must be capable of binding to arbitrary data at a variety of times. This introduces the additional complexity that code must be able to call code contained in the persistent store produced by another compilation. In this paper native code generation techniques using C as a target language for persistent languages are presented. The techniques described solve all of the problems described above. They may therefore be applied to any language with these or a subset of these features.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A High Level, Algorithmic Programming Language and Compiler for Reconfigurable Systems

This paper presents a high level, machine independent, algorithmic, singleassignment programming language SA-C and its optimizing compiler targeting recongurable systems, and intended for Image Processing applications. Language features are introduced and discussed. The intermediate forms DDCF and DFG, used in the optimization and code-generation phases are described. Conventional and recon gur...

متن کامل

Automatic Derivation of Machine Descriptions

We describe a new system for automatic compiler retargeting. The system combines the advantages of C code generating compilers (fast retargeting) with the advantages of compilers based on speciica-tion driven code generation (fast native code generation). The basic idea is to use the native C compiler to discover architectural features (such as instruction set, register set, addressing modes, i...

متن کامل

Title of Thesis: A RETARGETABLE OPTIMIZING JAVA-TO-C COMPILER FOR EMBEDDED SYSTEMS

Title of Thesis: A RETARGETABLE OPTIMIZING JAVA-TO-C COMPILER FOR EMBEDDED SYSTEMS Ankush Varma, M.S., 2003 Thesis directed by: Professor Shuvra S. Bhattacharyya Department of Electrical and Computer Engineering The Java programming language is achieving greater acceptance in high-end embedded systems such as cellphones and PDAs. However, lowend embedded platforms, such as DSPs or microcontroll...

متن کامل

A Retargetable Optimizing Java-to-C Compiler for Embedded Systems

Title of Thesis: “A Retargetable Optimizing Java-to-C Compiler for Embedded Systems” Degree candidate: Ankush Varma Degree and year: Master of Science, 2003. Thesis directed by: Professor Shuvra S. Bhattacharyya Department of Electrical and Computer Engineering University of Maryland, College Park The Java programming language is achieving greater acceptance in high-end embedded systems such as...

متن کامل

SIMD in JavaScript via C++ and Emscripten

Emscripten, Mozilla’s C/C++ to JavaScript compiler, can be used to port existing native C/C++ applications to the Web platform. When paired with a fast JavaScript engine, the applications run at near-native speeds. However, compute intensive C/C++ applications, such as games and media-processing, making use of SIMD intrinsics or gcc style vector code cannot achieve near-native speed, because Ja...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994